/*
 * 文件名：OwnerAddressDao.java
 * 版权：Copyright by hlst
 * 描述：
 * 修改人：liuziyu
 * 修改时间：2016年7月12日
 * 跟踪单号：
 * 修改单号：
 * 修改内容：
 */

package com.zcsy.manage.persistence.mall;

import java.util.List;

import com.zcsy.manage.model.mall.OwnerAddress;

public interface OwnerAddressDao {

	/**
	 * @Method: getOwnerAddressByOwnerId
	 * @Description 查询收货地址
	 * @param OwnerId
	 * @return 
	 * @author liuziyu liuziyuwri@foxmail.com
	 * @date 2016年7月12日
	 * @see 
	 */
	List<OwnerAddress> getOwnerAddressByOwnerId(String OwnerId);

	/**
	 * @Method: insertAddress
	 * @Description 添加地址
	 * @param newAddress
	 * @return 
	 * @author liuziyu liuziyuwri@foxmail.com
	 * @date 2016年7月13日
	 * @see 
	 */
	int insertAddress(OwnerAddress newAddress);
	
	/**
	 * @Method: updateAddress
	 * @Description 更新地址
	 * @param id
	 * @return 
	 * @author liuziyu liuziyuwri@foxmail.com
	 * @date 2016年7月13日
	 * @see 
	 */
	int updateAddress(OwnerAddress newAddress);
	
	/**
	 * @Method: updateDefaultFlagToZero
	 * @Description 根据业主id将默认地址设置为普通地址
	 * @param id 业主id
	 * @return 
	 * @author liuziyu liuziyuwri@foxmail.com
	 * @date 2016年7月13日
	 * @see 
	 */
	int updateDefaultFlagToZero(String id);
	
	/**
	 * @Description 返回用户默认地址<br>
	 * 
	 * @param ownerId 业主id
	 * @return  返回用户默认地址
	 * @author caiyinli 13277030520@163.com
	 * @date 2016年7月15日
	 * @see 
	 */
	OwnerAddress selectDefaultByOwnerId(String ownerId);
	
	/**
	 * @Description 将业主在某小区的默认地址设为普通地址
	 * @param ownerid 业主id
	 * @param cellId 小区id
	 * @return 更新结果
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月3日
	 * @see 
	 */
	int updateDefaultFlag(String ownerId, String cellId);
	
	/**
	 * @Description 查询业主在某小区是否有默认地址
	 * @param ownerId 业主id
	 * @param cellId 小区id
	 * @return 查询条数
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月8日
	 * @see 
	 */
	Integer selectDefaultFlagCount(String ownerId, String cellId);
	
	/**
	 * @Description 查询业主在本小区的所有收货地址
	 * @param ownerAddress 传入参数：ownerId 业主id，cellId 小区id，id 主键id
	 * @return 收货地址列表
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月3日
	 * @see 
	 */
	List<OwnerAddress> selectAddressByOwnerIdAndCellId(OwnerAddress ownerAddress);
	
	/**
	 * @Description 查询业主当前小区的收货地址条数
	 * @param ownerId 业主id
	 * @param cellId 小区id
	 * @return 查询条数
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月4日
	 * @see 
	 */
	Integer selectCountByOwnerIdAndCellId(String ownerId, String cellId);
	
	/**
	 * @Description 根据主键id删除收货地址
	 * @param id 主键id
	 * @return 删除结果
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月4日
	 * @see 
	 */
	Integer deleteByPrimaryKey(String id);
	
	/**
	 * @Description 根据主键id查询收货地址
	 * @param addressId
	 * @return 
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月4日
	 * @see 
	 */
	OwnerAddress selectByPrimaryKey(String addressId);
	
	/**
	 * @Description 将普通地址设为默认地址
	 * @param id 主键id
	 * @return 更新结果
	 * @author liuying 1075817474@qq.com
	 * @date 2016年8月8日
	 * @see 
	 */
	Integer updateToDefaultAddress(String id);
}
